﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;

namespace ShevaEngine.Core
{
    /// <summary>
    /// Base Sheva Engine Component.
    /// </summary>
    public interface IShevaEngineGamePart
    {
        /// <summary>
        /// Activates game part.
        /// </summary>
        void Activate();

        /// <summary>
        /// Deactivates game part.
        /// </summary>
        void Deactivate();

        /// <summary>
        /// Load resources.
        /// </summary>
        void LoadResources();

        /// <summary>
        /// Unload resources.
        /// </summary>
        void UnloadResources();

        /// <summary>
        /// Update.
        /// </summary>
        /// <param name="time"></param>
        void Update(GameTime time);

        /// <summary>
        /// Draw.
        /// </summary>
        void Draw();
    }
}
